package com.winshare.saleAssistant.domain.dto.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@ApiModel
public class StaffCreateDTO {

    @NotBlank(message = "账号不可以为空")
    @Length(min = 1, max = 100, message = "账号长度需要在1-100个字之间")
    @ApiModelProperty(value = "账号")
    private String account;

    @NotBlank(message = "姓名不可以为空")
    @Length(min = 1, max = 40, message = "账号长度需要在1-40个字之间")
    @ApiModelProperty(value = "姓名")
    private String staffName;

    @NotBlank(message = "手机号不可以为空")
    @ApiModelProperty(value = "手机号")
    private String phone;

    @Range(min = 0, max = 1, message = "是否激活字段只能填写0或1")
    @ApiModelProperty(value = "激活状态：1,已激活；0,未激活")
    private Integer isActive;

    @NotBlank(message = "机构编码不可以为空")
    @Length(min = 1, max = 45, message = "机构编码需要在1-45个字之间")
    @ApiModelProperty(value = "机构编码")
    private String orgCode;

    @NotNull(message = "机构Id不可以为空")
    @Range(min = 1, message = "机构Id为大于1或等于1的正整数")
    @ApiModelProperty(value = "机构Id")
    private String orgId;

    @NotBlank(message = "机构名称不可以为空")
    @Length(min = 1, max = 100, message = "机构名称需要在1-100个字之间")
    @ApiModelProperty(value = "机构名称")
    private String orgName;

    @Range(min = 0, max = 1, message = "是否审核人员只能填写0或1")
    @ApiModelProperty(value = "是否审核人员：1,是; 0,不是")
    private Integer isApprovalPerson;

    @ApiModelProperty(value = "普通角色列表")
    private List<RoleDTO> roleList;

    @ApiModelProperty(value = "应用角色列表")
    private List<AppRoleDTO> appRoleList;

    public StaffCreateDTO() {
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getStaffName() {
        return staffName;
    }

    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Integer getIsActive() {
        return isActive;
    }

    public void setIsActive(Integer isActive) {
        this.isActive = isActive;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }


    public Integer getIsApprovalPerson() {
        return isApprovalPerson;
    }

    public void setIsApprovalPerson(Integer isApprovalPerson) {
        this.isApprovalPerson = isApprovalPerson;
    }

    public List<RoleDTO> getRoleList() {
        return roleList;
    }

    public void setRoleList(List<RoleDTO> roleList) {
        this.roleList = roleList;
    }

    public List<AppRoleDTO> getAppRoleList() {
        return appRoleList;
    }

    public void setAppRoleList(List<AppRoleDTO> appRoleList) {
        this.appRoleList = appRoleList;
    }
}

